<html lang="ru">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="../dojo/dijit/themes/soria/soria.css">
        <link rel="stylesheet" href="../dojo/dijit/themes/soria/soria.css" />
        <link rel="stylesheet" href="../dojo/dojox/grid/resources/Grid.css" />
        <link rel="stylesheet" href="../dojo/dojox/grid/resources/soriaGrid.css" />

        <script>dojoConfig = {parseOnLoad: true, isDebug: true}</script>
        <script src='../dojo/dojo/dojo.js'></script>
        <script>
        X = 0;
        isSendForm = false;
        function getUsername() {
            var objUserInfo = new ActiveXObject("WScript.network");
            dojo.byId("response").innerHTML = objUserInfo.UserName + "<br/>" + objUserInfo.ComputerName + "<br/>" + objUserInfo.UserDomain + "<br/>"
        }
        /*
 
         dojo.require("dojox.grid.DataGrid");
         
         dojo.require("dojox.data.CsvStore");
         
         dojo.require("dijit.form.Button");
         
         require([
         
         "dojox/grid/DataGrid",
         
         "dojo/store/Memory",
         
         "dojo/data/ObjectStore",
         
         "dojo/request",
         
         "dojo/domReady!"
         
         ], function(DataGrid, Memory, ObjectStore, request){
         
         var dataStore;
         
         //request.get("hof-batting.json", {
         
         request.get("sel?param1=order by id desc limit 5", {
         
         handleAs: "json"
         
         }).then(function(data){
         
         dataStore =  new ObjectStore({ objectStore:new Memory({ data: data.items }) });
         
         
         
         grid1 = new DataGrid({
         
         store: dataStore,
         
         query: { id: "*" },
         
         clientSort: true,
         
         rowSelector: '10px',
         
         queryOptions: {},
         
         structure: [
         
         { name: "ID", field: "col1", width: "5%" },
         
         { name: "SDESCR", field: "col2", width: "35%" },
         
         { name: "DESCR", field: "col3", width: "10%" },
         
         { name: "CTIME", field: "col4", width: "25%" },
         
         { name: "MTIME", field: "col5", width: "25%" },
         
         ]
         
         }, "grid");
         
         grid1.startup();
         
         });
         
         });
         
         
         
         */



        function gridReload(req) {

            req = "sel?param1= " + req + " order by id desc limit 3;";

            //debug

            if (req == "undefined") {
                req = "";
            }

            //debug

            alert("req=" + req);

            dojo.byId("test1").innerHTML = req;





            dojo.require("dojox.grid.DataGrid");

            dojo.require("dojox.data.CsvStore");

            dojo.require("dijit.form.Button");

            require([
                "dojo",
                "dojo/_base/array",
                "dojo/dom-construct",
                "dojox/grid/DataGrid",
                "dojo/store/Memory",
                "dojo/data/ObjectStore",
                "dojo/request",
                "dojo/domReady!"

            ],
                    function(dojo, array, dom, DataGrid, Memory, ObjectStore, request) {

                        var getData = request.get(req, {
                            handleAs: "json"

                        });

                        getData.then(function(response) {

                            var container = dojo.byId("test");

                            container.innerHTML = "";

                            array.forEach(response.items, function(book, index) {

                                dom.create("div", {"innerHTML": book.col1 + ":" + book.col5}, container);

                            });

                            grid1.store.close();

                            var store = new ObjectStore({objectStore: new Memory({data: response.items})});

                            grid1.setStore(store);

                            grid1.update();

                            grid1.sort();

                        });

                    }

            );



//alert('test done');

        }



        function getSearch() {





            gridReload(" where sdescr  ilike '%" + dojo.byId("dialogSearch_sdescr").value + "%' ");

            alert('search:' + dojo.byId("dialogSearch_sdescr").value + " done.");



        }

        </script>

    </head>

    <!--DESCRIPTION
    
    =ADDPROJECT=
    
    FORM
    
            ![TEXT]NAMEOFPROJECT
    
            ![TEXT]STATEOFPROJECT
    
            ![TEXT]TYPEOFPROJECT
    
            !DEPARTMENT (load from json)
    
                    ![TEXT]LEVEL (APP/GOSB/OSB)
    
                    ![TEXT]UPRAVLENIE (UVSAS)
    
                    ![TEXT]FUNKBLOCK	(ADMIN BLOCK)
    
            ECEFFECT
    
                    [MONEYRUB]CALCULATED
    
                    [MONEYRUB]SUBMITTED
    
            REALISATIONTIME
    
                    [DATE]BEGIN
    
                    [DATE]END
    
            EXTENSIONS
    
                    [INT]IDOF4I
    
                    [FILE]FILES
    
                    [CHECKBOX]HIDDEN
    
            MANAGER
    
                    [TEXT]PSSMANGEROFPROJECT
    
    
    
                    
    
    =/ADDPROJECT=
    
    
    
    =TOOLSFOR:ADDPROJECT
    
    INPUT
    
            TEXT
    
                    REQUARED
    
            DATE
    
                    REQUARED
    
            MONEY
    
                    REQUARED
    
            COMBOBOX
    
                    REQUARED
    
            CHECKBOX
    
                    REQUARED
    
    =/TOOLSFOR:ADDPROJECT
    
    
    
    -->





    <body class="soria">

        <!--MENU, maybe TABS-->

        <!--CREATEFORM-->

        <script type="text/javascript">

            dojo.require("dijit.Dialog");

            dojo.require("dijit.form.TextBox");

            dojo.require("dijit.form.TimeTextBox");

            dojo.require("dijit.form.Button");

            dojo.require("dijit.form.DateTextBox");

            dojo.require("dijit.form.FilteringSelect");

            dojo.require("dijit.form.CurrencyTextBox");



            function sendForm() {

                var form = dojo.byId("myForm");



                dojo.connect(form, "onsubmit", function(event) {

                    // Stop the submit event since we want to control form submission.

                    //alert(event);

                    dojo.stopEvent(event);



                    // The parameters to pass to xhrPost, the form, how to handle it, and the callbacks.

                    // Note that there isn't a url passed.  xhrPost will extract the url to call from the form's

                    //'action' attribute.  You could also leave off the action attribute and set the url of the xhrPost object

                    // either should work.

                    //debug

                    alert("isSendForm:" + isSendForm);

                    if (isSendForm) {



                        var xhrArgs = {
                            form: dojo.byId("myForm"),
                            handleAs: "text",
                            load: function(data) {

                                dojo.byId("response").innerHTML = "Сохранено.";

                                gridReload('');

                                //!!!!!!!!dojo.byId("Dialog1").close();

                            },
                            error: function(error) {

                                // We'll 404 in the demo, but that's okay.  We don't have a 'postIt' service on the

                                // docs server.

                                dojo.byId("response").innerHTML = "Сохранено.";



                            }

                        }

                        // Call the asynchronous xhrPost

                        dojo.byId("response").innerHTML = "Сохранение..."

                        var deferred = dojo.xhrPost(xhrArgs);

                    }

                });

                isSendForm = false;

            }



            dojo.ready(sendForm);



            //dijit.byId('dialog1').hide();

            //alert("dialog 1");





        </script>



        <button dojoType="dijit.form.Button" onclick="dijit.byId('dialog1').show()">Добавить Проект</button>



        <div dojoType="dijit.Dialog" id="dialog1" title="Добавить Проект"

             execute="alert('submitted w/args:\n' + dojo.toJson(arguments[0], true));">

            <div data-dojo-type="dijit/form/Form" id="myForm" data-dojo-id="myForm"

                 encType="multipart/form-data" action="create" method="get">

                <script type="dojo/on" data-dojo-event="reset">

                    return confirm('Нажмите OK для очитки формы.');

                </script>



                <script type="dojo/on" data-dojo-event="submit">

                    if(this.validate()){

                    isSendForm=confirm('Добавить проект?');

                    //alert(isSendForm);

                    //var isSubmit = confirm('Form is valid, press OK to submit');



                    if (isSendForm){

                    //alert('dialog1 hide');

                    dijit.byId('dialog1').hide();}

                    return isSendForm;

                    }else{

                    alert('Форма неверно заполнена.');

                    //break;

                    isSendForm=false;

                    return false;

                    }

                    return true;

                </script>



                <table>

                    <tr>

                        <td ><label for="nameproj">Название: </label></td>

                        <td colspan="3" align="center">

                            <!--input dojoType="dijit.form.TextBox" type="text" name="nameproj" id="nameproj"-->

                            <!--debug-->

                            <input data-dojo-type="dijit/form/ValidationTextBox" type="text" width="100%"  required="true" name="param1" id="param1">

                        </td>

                    </tr>

                    <tr>

                        <td><label for="stateproj">Статус: </label></td>

                        <td><!--input dojoType="dijit.form.TextBox" type="text" name="stateproj" id="stateproj"-->







                            <select  dojoType="dijit.form.FilteringSelect"

                                     id="stateproj"

                                     name="stateproj"

                                     autoComplete="true"

                                     invalidMessage="Invalid state name"

                                     onChange="dojo.byId('stateproj_').value = arguments[0]"

                                     >

                                <option value="blank"></option>

                                <option value="done">завершен</option>

                                <option value="realised">реализован</option>

                                <option value="improve">на реализации</option>

                                <option value="developming">в разработке</option>

                            </select>





                        </td>

                        <!--/tr>
                    
                        <tr-->

                        <td><label for="date">Тип: </label></td>

                        <td><!--input dojoType="dijit.form.DateTextBox" type="text" name="date" id="date"-->



                            <select  dojoType="dijit.form.FilteringSelect"

                                     id="typeproj"

                                     name="typeproj"

                                     autoComplete="true"

                                     invalidMessage="Invalid state name"

                                     onChange="dojo.byId('typeproj_').value = arguments[0]"

                                     >

                                <option value="blank"></option>

                                <option value="bri">БРИ</option>

                                <option value="kidzen">КАЙДЗЕН</option>

                                <option value="pssproj">ПСС-проект</option>

                            </select>



                        </td>

                    </tr>

                    <tr>

                        <td><label for="date">Уровень: </label></td>

                        <td>

                            <!--input dojoType="dijit.form.TimeTextBox" type="text" name="time" id="time"-->



                            <select  dojoType="dijit.form.FilteringSelect"

                                     id="levelproj"

                                     name="levelproj"

                                     autoComplete="true"

                                     invalidMessage="Invalid state name"

                                     onChange="dojo.byId('levelproj_').value = arguments[0]"

                                     >

                                <option value="blank"></option>

                                <option value="app">аппарат СКБ</option>

                                <option value="gosb">ГОСБ</option>

                                <option value="osb">ОСБ</option>

                            </select>





                        </td>

                        <!--/tr>
                    
                                <tr-->

                        <td><label for="date">Функ. блок: </label></td>

                        <td>

                            <!--input dojoType="dijit.form.TimeTextBox" type="text" name="time" id="time"-->



                            <select  dojoType="dijit.form.FilteringSelect"

                                     id="funcbproj"

                                     name="funcbproj"

                                     autoComplete="true"

                                     invalidMessage="Invalid state name"

                                     onChange="dojo.byId('funcbproj_').value = arguments[0]"

                                     >

                                <option value="blank"></option>

                                <option value="app">административный</option>

                                <option value="gosb">не административный</option>

                                <option value="osb">ОСБ</option>

                            </select>





                        </td>

                    </tr>

                    <tr>

                        <td><label for="date">Управление: </label></td>

                        <td>

                            <!--input dojoType="dijit.form.TimeTextBox" type="text" name="time" id="time"-->



                            <select  dojoType="dijit.form.FilteringSelect"

                                     id="uprproj"

                                     name="uprproj"

                                     autoComplete="true"

                                     invalidMessage="Invalid state name"

                                     onChange="dojo.byId('uprproj_').value = arguments[0]"

                                     >

                                <option value="blank"></option>

                                <option value="app">УВиСАС</option>

                                <option value="gosb">УТСиТ</option>

                                <option value="osb">ОСБ</option>

                            </select>





                        </td>

                    </tr>



                    <tr>

                        <td><label for="desc">Ожидаемый эффект: </label></td>

                        <td>

                            <!--input dojoType="dijit.form.CurrencyTextBox" name="desc" id="desc"-->

                            <!--input type="text" name="ecefcalc" id="ecefcalc" value="0.0" required="true"
                    
                        data-dojo-type="dijit/form/CurrencyTextBox"
                    
                        data-dojo-props="constraints:{fractional:false},
                    
                        currency:'RUB',
                    
                        invalidMessage:'Invalid amount. Cents are required.'" /-->



                            <!--debug-->

                            <input type="text" name="param2" id="param2" required="true"  value="0.0" required="true"

                                   data-dojo-type="dijit/form/CurrencyTextBox"

                                   data-dojo-props="constraints:{fractional:false},

                                   currency:'RUB',

                                   invalidMessage:'Invalid amount. Cents are required.'" />  

                        </td>

                    </tr>

                    <tr>

                        <td><label for="desc">Подтвержденный эффект: </label></td>

                        <td>

                            <!--input dojoType="dijit.form.CurrencyTextBox" name="desc" id="desc"-->

                            <input type="text" name="ecefsubm" id="ecefsubm" value="0.0" required="true"

                                   data-dojo-type="dijit/form/CurrencyTextBox"

                                   data-dojo-props="constraints:{fractional:true},

                                   currency:'RUB',

                                   invalidMessage:'Invalid amount. Cents are required.'" />  

                        </td>

                    </tr>

                    <tr>

                        <td><label for="desc">Начало проекта: </label></td>

                        <td>

                            <input type="text" id="projstartdate" name="projstartdate" required="false"  data-dojo-type="dijit/form/DateTextBox"/>

                        </td>

                    </tr>

                    <tr>

                        <td><label for="desc">Завершеение проекта: </label></td>

                        <td>

                            <input type="text" id="projstopdate" name="projstopdate" required="false"  data-dojo-type="dijit/form/DateTextBox"/>

                        </td>

                    </tr>

                    <tr>

                        <td><label for="desc">id в 4i : </label></td>

                        <td>

                            <input type="text" id="id4i" name="id4i" data-dojo-type="dijit/form/TextBox"/>

                        </td>

                    </tr>

                    <tr>

                        <td><label for="desc">скрыть запись : </label></td>

                        <td>

                            <input type="text" id="hide" name="hide" required="false"  data-dojo-type="dijit/form/CheckBox"/>

                        </td>

                    </tr>

                    <tr>

                        <td colspan="2" align="center">

                    </tr>

                </table>



                <button dojoType="dijit.form.Button" type="submit">OK</button></td>



                <!--button data-dojo-type="dijit/form/Button" type="button" onClick="console.log(myForm.getValues())">Get Values from form!</button-->

                <!--button data-dojo-type="dijit/form/Button" type="submit"onClick="" name="submitButton" value="Submit">Зарегестрировать</button-->

                <button data-dojo-type="dijit/form/Button" type="reset">Сброс</button>

            </div> 

            <div id="response" name="response"></div>



        </div>

        <!--/CREATEFORM-->

        <!--TABLE OF SEARCHE RESULT-->

        <button dojoType="dijit.form.Button" onclick="dijit.byId('dialogSearch').show()">Найти</button>

        <button data-dojo-type="dijit/form/Button" type="submit" onClick="gridReload('')">Обновить</button>

        <!--SEARCHFORM-->

        <div dojoType="dijit.Dialog" id="dialogSearch" title="Найти" >

            Поиск



            <input type="text" id="dialogSearch_sdescr" name="dialogSearch_sdescr" data-dojo-type="dijit/form/TextBox"/>

            <button dojoType="dijit.form.Button" type="submit" onClick="getSearch()" >Найти</button></td>

        <button data-dojo-type="dijit/form/Button" type="reset">Сброс</button>

    </div>



    <!--EDIT RECORD -->

    <div data-dojo-type="dijit.form.Button">

        Редактировать

        <script type="dojo/method" data-dojo-event="onClick" data-dojo-args="evt">

            // Get all selected items from the Grid:

            var items = grid1.selection.getSelected();

            if(items.length){

            // Iterate through the list of selected items.

            // The current item is available in the variable

            // "selectedItem" within the following function:

            dojo.forEach(items, function(selectedItem){

            if(selectedItem !== null){

            // Iterate through the list of attributes of each item.

            // The current attribute is available in the variable

            // "attribute" within the following function:

            dojo.forEach(grid1.store.getAttributes(selectedItem), function(attribute){

            // Get the value of the current attribute:

            var value = grid1.store.getValues(selectedItem, attribute);

            // Now, you can do something with this attribute/value pair.

            // Our short example shows the attribute together

            // with the value in an alert box, but we are sure, that

            // you'll find a more ambitious usage in your own code:

            if (attribute=='col2'){

            dijit.byId('param1').set('value',value);

            alert('attribute: ' + attribute + ', value: ' + value);

            }



            }); // end forEach



            dijit.byId('dialog1').show();

            } // end if

            }); // end forEach

            } // end if

        </script>

    </div>

    <!--/SEARCHFORM-->



    <div id="grid"></div>

    <!-- load dojo and provide config via data attribute -->

    <!--script src="../dojo/dojo/dojo.js" data-dojo-config="isDebug: true, async: true"></script-->

    <script>





dojo.require("dojox.grid.DataGrid");

dojo.require("dojox.data.CsvStore");

dojo.require("dijit.form.Button");

require([
    "dojox/grid/DataGrid",
    "dojo/store/Memory",
    "dojo/data/ObjectStore",
    "dojo/request",
    "dojo/domReady!"

], function(DataGrid, Memory, ObjectStore, request) {

    var dataStore;

    //request.get("hof-batting.json", {

    request.get("sel?param1=order by id desc limit 5", {
        handleAs: "json"

    }).then(function(data) {

        dataStore = new ObjectStore({objectStore: new Memory({data: data.items})});



        grid1 = new DataGrid({
            store: dataStore,
            query: {id: "*"},
            clientSort: true,
            clearOnClose: true,
            rowSelector: '10px',
            selectionMode: 'single',
            queryOptions: {},
            structure: [
                {name: "ID", field: "col1", width: "5%"},
                {name: "SDESCR", field: "col2", width: "35%"},
                {name: "DESCR", field: "col3", width: "10%"},
                {name: "CTIME", field: "col4", width: "25%"},
                {name: "MTIME", field: "col5", width: "25%"},
            ]

        }, "grid");

        grid1.startup();

    });

});











    </script>



    <div id="test">

        test

    </div>



    <div id="test1">

        test1

    </div>

    <button data-dojo-type="dijit/form/Button" type="reset" onClick="getUsername()">user name</button>

    <b>Result</b>

    <div id="response"></div>

</body>

</html>